1. Field
Exemplary embodiments relate to a method and an apparatus for inserting contents, and more particularly, to a method and an apparatus for inserting specific advertisement streams that are stored in a host during a specific advertisement (AD) break in contents streams input from a headend device.
2. Description of the Related Art
A client-based digital program insertion (DPI) function allows a multi system operator (MSO) to designate an application such as a target engine, etc., disposed at a client, such as a set top box, so that a specific advertisement can be displayed during an advertisement (AD) break in the middle of a running program and also allows a client device to switch streams of the running program to streams of another specific advertisement by using a channel switch function.
By using the client-based DPI function, an MSO may allow a client device (not a headend device such as a relay) to perform an operation of inserting a desired advertisement and may provide a specialized advertisement to a user by providing a function of selecting a desired, specific advertisement stream from several advertisement streams provided to the application disposed at the client device.
In order to increase the effect of a specialized advertisement to the user, data relating to a user's preferences may be investigated when a user selects a specific advertisement stream. The user's preferences may be investigated by using a metric technique (for example, multiple regression) or a nonmetric technique (for example, LINMAP, MONANOVA, PREEFMAP, Johnson's nonmetric algorithm, etc.).
Advertisement streams are transmitted in real-time in the form of another program of another channel or the same channel in the format of an MPEG-2 transport stream (TS).
FIG. 1 illustrates a related art system for inserting contents in a live stream by using channel switch.
Referring to FIG. 1, the system for inserting contents in a live stream by using channel switch comprises a headend device 110 and a host 120. The headend device 110 of an MSO transmits data 111 including DPI signaling and contents (including advertisement streams) to a host 120 in a TS form. In addition, the headend device 110 operates a target engine 122 which is a kind of an application 121 in the host 120 by using a command and control. The target engine 122 performs an advertisement inserting operation by using a switch engine (SE) 123-1 of an OpenCable Application Platform (OCAP) 123, which is a middleware standard for the host 120.
When a specific advertisement stream that is being transmitted in real-time is switched and inserted, a DPI operation may be performed using a DPI trigger method or a DPI timeline method. The DPI operation performed by using a DPI trigger method will now be described as follows.
First, a DPI signaling descriptor of a DPI signaling (i.e., DPI signaling description and DPI trigger) is transmitted from the headend device 110 to notify that the DPI operation will be performed on a currently-viewed channel.
Next, the target engine 122 generates a switch instruction object including channel information on which an insertion advertisement will be loaded and a switch identifier (ID), and transfers the switch instruction object to a switch engine 123-1.
Upon receiving the switch instruction object, the switch engine 123-1 parses information of the switch instruction object and prepares to perform switching.
When a time for inserting a specific advertisement comes, the headend device 110 transfers a DPI trigger to the host 120.
In the host 120, a switch ID of the switch instruction object is compared with a synchronized_event_id of the DPI trigger when the DPI trigger is received. When the switch ID of the switch instruction object is the same as the synchronized_event_id of the DPI trigger, the system performs the DPI operation by switching a viewing channel by using channel information of an insertion advertisement of the switch instruction object.
On the other hand, when the switch ID of the switch instruction object is different from the synchronized_event_id of the DPI trigger, the system regards this state as a malfunction, and informs the target engine 122 of the malfunction.
FIG. 2 illustrates a related art method of inserting contents in a live stream by using channel switch.
Referring to FIG. 2, as an example, a currently-viewing channel is referred to as Ch 1, wherein Ch 1 comprises a general program broadcasting 210 and an advertisement (AD) break 220.
Channels 133, 134, and 135 comprise insertion advertisements which are classified according to user's taste. For example, Ch 133 may be a car advertisement, Ch 134 may be a fashion advertisement, and Ch 135 may be an infant goods advertisement, etc.
Regarding Ch 1, when there are two spots such as an AD spot 1(221) and an AD spot 2(222) in the AD break 220, a corresponding section may be switched to Addressible AD 1 and Addressible AD 2 of Ch 133 by using channel switch, as illustrated in FIG. 1. Thus, for example, users who are interested in cars may be exposed more frequently to a specialized advertisement in this way.
When advertisement streams have been already stored in a storage medium of a host, i.e., in order to switch a live stream to the advertisement streams stored in the storage medium of the host without using channel switch, location information of a corresponding specific advertisement stream is parsed without performing a channel switch operation, and when a DPI trigger is received, the corresponding advertisement stream must be played.
However, in this case, a specific advertisement stream must be selected from a plurality of advertisement streams stored in the storage medium at an advertisement insertion time and must be switched. However, since there is no method of selecting an advertisement stream from the storage medium in order to be inserted, switching cannot be performed.
In addition, when there is no storage medium, advertisement streams are transmitted in a TS form, as described previously, and javax.t.locator.Locator, which is used to designate services in the TS form of Java Application Program Interface (API), may be used. However, when there is a storage medium available, and advertisement streams stored in the storage medium are used, the advertisement streams stored in the storage medium are not in the form of a TS and thus, javax.tv.locator.Locator cannot be used.
In the related art, because technology related to a standard document about location information on advertisement streams of a storage medium does not exist, specific advertisement contents cannot be designated and inserted by using a storage medium which may be a key function of DPI, and a multi system operation (MSO) cannot designate and insert video/audio components in desired contents.